for (;;)
{
T = WaitNextTimeSlice();
Tfro = T;
// assume 10V range where 5V is nominal FRO
Potfro=KANALOG_CONVERT_ADC_TO_VOLTS(ADC(0)) - 4.0;
FRO = Potfro*0.25 + .6;
// assume 10V range where 5V is nominal FRO
Pot=KANALOG_CONVERT_ADC_TO_VOLTS(ADC(1)) - 4.5;
SRO = Pot*0.25 + .65;
// send message to KMotionCNC if the pot changed significantly
// and it has been a while since the last message
if ((SRO > LastSRO+CHANGE_TOL || SRO < LastSRO-CHANGE_TOL) &&
T > LastSROTime+CHANGE_TIME)
{
if (SRO>.7 && SRO<1.) SRO1=1;
else
{
if (SRO<.7) SRO1 = SRO+.3;
else
{
SRO1=SRO;
}
}
if (SRO1<0) SRO1 = 0.01;
DoPCFloat(PC_COMM_SET_SSO,SRO1);
float speed = *(float *)&persist.UserData[KMVAR];
if ((speed * FACTOR ) >444444.3) speed = 10000;
printf("speed = %f\n",speed);
printf("SRO = %f\n",SRO1);
if (ReadBit(47) == 1 && SRO1 == .01) Jog(3,0);
else
{
Jog(3,speed * FACTOR * -1);
}
if (ReadBit(46) == 1 && SRO1 == .01) Jog(3,0);
else
{
Jog(3,speed * FACTOR );
}
LastSRO=SRO;
LastSROTime=T;
}
// send message to KMotionCNC if the pot changed significantly
// and it has been a while since the last message
if ((FRO > LastFRO+CHANGE_TOL || FRO < LastFRO-CHANGE_TOL) &&
Tfro > LastFROTime+CHANGE_TIME)
{
if (FRO>.7 && FRO<1.) FRO1=1;
else
{
if (FRO<.7) FRO1 = FRO+.3;
else
{
FRO1=FRO;
}
}
DoPCFloat(PC_COMM_SET_FRO,FRO1);
LastFRO=FRO;
LastFROTime=Tfro;
}
}